150. mysql備份還原指令
睡睡念
調整自動取得letsEncript的架構,
所以就獨立開了一個server,要把服務移過去。
然後才發現,我的上一任是個很成熟的工程師,最愛造輪子
正文
以下都是由docker建立,也有其他方式可以做。
- 備份全部db的指令
docker exec percona sh -c "mysqldump -u root -p<password> -A --opt" > backup.sql
當然,也可以選擇進入到container裏面,執行指令,再用docker cp的方式把檔案拉出來。
- 還原DB的指令
docker exec -i mysql sh -c "mysql -u root -p<password>" < backup.sql
- 連線至mysql
mysql -uroot -p<password>
- 顯示全部DB
show databases;
- 顯示全部table
show tables;
- 建立使用者
CREATE USER 'totp-auth'@'localhost' IDENTIFIED BY 'password';
這邊注意,如果使用者是從非本地連過來資料庫的話,不要使用localhost。我忘了這點。
- 修改使用者
RENAME USER 'totp-auth'@'localhost' TO 'totp-auth'@'%';
承接上一段語法,如果已經新增的話,用此方式修改。
%為任意ip,或者可以改成192.168.1.% 諸如此類的。
- 授予使用者DB權限
GRANT ALL PRIVILEGES ON db.* TO 'totp-auth'@'localhost';
ref.